package report

import "github.com/marmotedu/errors"

const (
	LinkLogInfo ReporterBuilder = iota
	DeleteLogInfo
	DryRunLogInfo
)

type ReporterBuilder int

func (b ReporterBuilder) Build() (Reporter, error) {
	switch b {
	case LinkLogInfo:
		return NewLinkReporter(), nil
	case DeleteLogInfo:
		return NewDeleteReporter(), nil
	case DryRunLogInfo:
		return NewDryRunReporter(), nil
	default:
		return nil, errors.New("unknown reporter builder")
	}
}
